package com.zyx.reggie.service;

import com.zyx.reggie.domain.Dish;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zyx.reggie.domain.dto.DishDto;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
* @author Zhu
* @description 针对表【dish(菜品管理)】的数据库操作Service
* @createDate 2023-03-27 14:14:55
*/
public interface DishService extends IService<Dish> {
    //新增菜品，同时插入菜品对应的口味数据，需要操作两张表：dish、dish_flavor
    void saveWithFlavor(DishDto dishDto);

    //根据id查询菜品信息和对应的口味信息
    public DishDto getByIdWithFlavor(Long id);

    //更新菜品信息，同时更新对应的口味信息
    public void updateWithFlavor(DishDto dishDto);

    //根据传过来的id批量或者是单个的删除菜品，并判断是否是启售的
    void deleteByIds(List<Long> ids);

    //菜品批量删除和单个删除，删除时用到deleteByIds方法删除菜品
    public boolean deleteInSetmeal(List<Long> ids);
}
